package com.zhejiangzhengyuan.municipal_common.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;

import com.baomidou.mybatisplus.extension.service.IService;
import com.zhejiangzhengyuan.municipal_common.entity.MaintenanceRecord;
import com.zhejiangzhengyuan.municipal_common.entity.dto.FileDto;
import com.zhejiangzhengyuan.municipal_common.entity.dto.MaintenanceManageDto;
import com.zhejiangzhengyuan.municipal_common.entity.vo.MaintenanceManageVo;
import com.zhejiangzhengyuan.municipal_common.entity.vo.MaintenanceRecordFuzzySelectVo;
import com.zhejiangzhengyuan.municipal_common.response.ResponseVo;

import java.util.List;

/**
 * <p>
 * 该表不作为交互业务直接写入，而是由道路或桥梁养护任务完成时，由养护任务内容数据进行同步，并关联上养护目标（桥梁或道路）；
养护记录虽然存在与道路或桥梁表的关联，但是不存在直接的物理外键关系，所以这里没有外键约束 服务类
 * </p>
 *
 * @author linju
 * @since 2019-11-22
 */
public interface MaintenanceRecordService extends IService<MaintenanceRecord> {


    int updateMaintenance(MaintenanceManageDto dto);

    IPage<MaintenanceManageVo> selectAllMaintenanceRecord(Page<MaintenanceManageVo> page);

    Boolean removeById(Long id);

    Boolean removeByIds(List<Long> idList);

    ResponseVo maintenanceRecordChart(String startTime, String endTime);


    List<MaintenanceRecordFuzzySelectVo> fuzzySelectByMaintenanceObject(String str);

    int updateMaintenanceRecordFile(FileDto dto);

    Long addMaintenance(MaintenanceRecord maintenanceRecord);
}
